//JavaScript Document

// *** Funciones para usar Ajax *** //

var conexionAjax;
var gn_anio, gc_anio, gc_anio_corto;
gc_anio = '2013';
gc_anio_corto = '12';

function crearXMLHttpRequest(){
  var xmlHttp=null;
  if (window.ActiveXObject){
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  }else{ 
    if (window.XMLHttpRequest) 
      xmlHttp = new XMLHttpRequest();
  }
  return xmlHttp;
}

// Esta es la funcion que se debe llamar desde las paginas
function enviarAjax(url, funcion){
	conexionAjax = crearXMLHttpRequest();
	conexionAjax.onreadystatechange = eval(funcion);
	conexionAjax.open("GET", url, true);
	conexionAjax.send(null);
}

function addOptions(combo, lista){
	for(i = 0; i < lista.valores.length; i++){
		opcion = document.createElement("option");
		opcion.value = lista.valores[i];
		opcion.text = lista.textos[i];
		combo.add(opcion);
	}
}

function valNum_palabra(val,palabra){

	
	obj = document.getElementById(val);
	if (isNaN(obj.value)){
		if ( obj.value.toUpperCase() !=palabra && palabra != '999999') {
			alert ('Dato Incorrecto, solo puede ingresar ' + palabra);
			obj.focus();
			return false;
		}
	}else{ 
		if (obj.value != "" && parseInt(obj.value)!= 999999  && (obj.value<1 || 999999<obj.value)) { 
			alert ('Valores permitidos entre 1 y 21	 -- omisi�n(999999)!');
			obj.focus();
			return false;
		}else{
			
			return true;
		}
	}
	return true;
}

function valNum_palabra_consul(val,palabra){

	
	obj = document.getElementById(val);
	if (isNaN(obj.value)){
		if ( obj.value.toUpperCase() !=palabra && palabra != '999999') {
			alert ('Dato Incorrecto, solo puede ingresar ' + palabra);
			obj.focus();
			return false;
		}
	}else{ 
		if (obj.value != "" && parseInt(obj.value)!= 999999  && (obj.value<1 || 999999<obj.value)) { 
			alert ('Valores permitidos entre 1 y 21	 -- omisi�n(999999)!');
			obj.focus();
			return false;
		}else{
			
			return true;
		}
	}
	return true;
}

function valNum_palabrafoneii(val,palabra){

	
	obj = document.getElementById(val);
	if (isNaN(obj.value)){
		
	}else{ 
		if (obj.value != "" && parseInt(obj.value)!= 99999  && (obj.value<1 || 99999<obj.value)) { 
			alert ('Valores permitidos entre 1 y 99999 -- omisi�n(99999)!');
			obj.focus();
			return false;
		}else{
			
			return true;
		}
	}
	return true;
}


function addOption(combo, valor, texto){
	opcion = document.createElement("option");
	opcion.value = valor;
	opcion.text = texto;
	combo.add(opcion);
}

function removeOptions(combo){
	while(combo.options.length > 0){
		combo.remove(0);
	}
}

// ********************************** //
// *** Otras Funciones JavaScript *** //
// ********************************** //
var nav4 = window.Event ? true : false;

var omision = true;

function esLetra(cadLetras, evt){
	letra = String.fromCharCode(evt.keyCode);
	return (cadLetras.indexOf(letra) > -1);
}

function acceptNum(evt){	
	// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57	
	//Solo acepta Numeros
	var key = nav4 ? evt.which : evt.keyCode;	
	return (key <= 13 || (key >= 48 && key <= 57));
}

function acceptNumDecim(evt){	
	// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57, '.'
	//Acepta numeros y el caracter Punto(.)
	var key = nav4 ? evt.which : evt.keyCode;	
	return (key <= 13 || (key >= 48 && key <= 57) || key == 46);
}

function acceptNumFecha(evt){
	//Acepta numeros y el simbolo "/"
	var key = nav4 ? evt.which : evt.keyCode;	
	i = acceptNum(evt); j = (key == "/".charCodeAt(0));
	return (i || j);
}

function acceptNumHora(evt){
	//Acepta numeros y el simbolo "/"
	var key = nav4 ? evt.which : evt.keyCode;	
	i = acceptNum(evt); j = (key == ":".charCodeAt(0));
	return (i || j);
}

function acceptNumTelef(evt){
	//Acepta numeros, letras, espacios y el simbolo "-"
	var key = nav4 ? evt.which : evt.keyCode;	
	i = acceptNumLetras_espac(evt); j = (key == "-".charCodeAt(0));
	return (i || j);
}

function acceptLetras(evt) { 
	//Acepta letras sin espacios en blanco
    tecla = (document.all) ? evt.keyCode : evt.which; 
    if (tecla==8 || tecla==32 ) return false; 
    patron =/[A-Za-z��\s]/;
    te = String.fromCharCode(tecla); 
    return patron.test(te);
}  



function acceptLetras_espac(evt) { 
	//Acepta letras con espacios en blanco
    tecla = (document.all) ? evt.keyCode : evt.which; 
    if (tecla==8 || tecla==32 ) return true; 
    patron =/[A-Za-z��\s]/;
    te = String.fromCharCode(tecla); 
    return patron.test(te);
}

function acceptNumLetras(evt){
	//Acepta Numeros y Letras sin espacios en blanco
	return (acceptNum(evt) || acceptLetras(evt));
}

function acceptNumLetras_espac(evt){
	//Acepta Numeros y Letras con espacios en blanco
	return (acceptNum(evt) || acceptLetras_espac(evt));
}

function acceptNumLetras_espac_otros(evt){
	//Acepta Numeros y Letras con espacios en blanco
	cadLetras = String.fromCharCode(34) + "'.-():/,"
	return (acceptNum(evt) || acceptLetras_espac(evt) || esLetra(cadLetras, evt));
}

function acceptNumLetras_espac_otros2(evt){
	//Acepta Numeros y Letras con espacios en blanco
	cadLetras = String.fromCharCode(34) + "'.-():/,%+�"
	return (acceptNum(evt) || acceptLetras_espac(evt) || esLetra(cadLetras, evt));
}

function accept_1_y_2(evt) { 
	//Acepta numeros 1 y 2
    tecla = (document.all) ? evt.keyCode : evt.which; 
	return ( String.fromCharCode(tecla) == "1" || String.fromCharCode(tecla) == "2" );
} 

function accept_9_y_10(evt) { 
	//Acepta numeros 1 y 2
    tecla = (document.all) ? evt.keyCode : evt.which; 
	return ( String.fromCharCode(tecla) == "9" || String.fromCharCode(tecla) == "10" );
} 

function Solo1_3(evt){
var key = nav4 ? evt.which : evt.keyCode;
return (key <= 13 || key == 49 || key == 50 || key == 51);
}


function acepta_de_a(evt, minim, maxim) { 
	//Acepta numeros en un rango
    tecla = (document.all) ? evt.keyCode : evt.which; 
	if(tecla == 13) return true;
	x = String.fromCharCode(tecla);
	if(isNaN(parseInt(x))) return false;
	
	//*** Omision ***//
	if(omision){
		var y;
		y = val_omision(maxim);
		if(parseInt(x)==y) return true;
	}
	
	
	return ( parseInt(x) >= minim && parseInt(x) <= maxim );
}

function acepta_de_a_SinOmi(evt, minim, maxim) { 
	//Acepta numeros en un rango
    tecla = (document.all) ? evt.keyCode : evt.which; 
	if(tecla == 13) return true;
	x = String.fromCharCode(tecla);
	if(isNaN(parseInt(x))) return false;
		
	return ( parseInt(x) >= minim && parseInt(x) <= maxim );
}

function restaura_color(tabla, color, wprifil){
	for(i=0; i<document.getElementById(tabla).rows.length; i++){
		if(wprifil==true && i==0) continue;
		document.getElementById(tabla).rows(i).style.backgroundColor = color;
	}
}

function restaura_color2(tabla, color, numprifil){
	for(i=0; i<document.getElementById(tabla).rows.length; i++){

		if(i <= numprifil - 1) continue;
		document.getElementById(tabla).rows(i).style.backgroundColor = color;
	}
}

function eliminaEspacios(cadena){
	caden2 = "";
	for(x=0; x<cadena.length; x++){
		if(cadena.substring(x, x + 1) != " "){
			caden2 += cadena.substring(x, x + 1);
		}
	}
	return caden2;
}

function trim(cadena){
	var x;
	posini = 0, posfin = 0;
	for(x=0; x<cadena.length; x++){
		if(cadena.substring(x, x + 1) == " "){
			posini++;
		}else{
			break;
		}
	}
	for(x=cadena.length; x>0; x--){
		if(cadena.substring(x - 1, x) == " "){
			posfin++;
		}else{
			break;
		}
	}
	if(posini!=cadena.length)
		caden2 = cadena.substring(posini, cadena.length - posfin);
	else
		caden2 = '';
	return caden2;
}

function retroceso(evt){
// NOTE: Backspace = 8, Enter = 13, '0' = 48, '9' = 57	
var key = nav4 ? evt.which : evt.keyCode;	
return (!(key == 127));
}

function focotext(obj){
	if(obj.readOnly == false)
		obj.style.backgroundColor = "#FFFFB0";
}

function nofocotext(obj){
	obj.style.backgroundColor = "#FFFFFF";
}

function focoSiNo(obj){
	if(obj.readOnly == false){
		obj.style.backgroundColor = "#FFFFB0";
		obj.style.color = "#000000";
	}
}

function nofocoSiNo(obj){
	switch(obj.value ){
		case '1':
        	obj.style.backgroundColor = "#00CC66";
			obj.style.color = "#FFFFFF";
			break;
		case '2':
			obj.style.backgroundColor = "#FF0000";
			obj.style.color = "#FFFFFF";
			break;
			
		case '3':
			obj.style.backgroundColor = "#0066FF";
			obj.style.color = "#FFFFFF";
			break;
		
		case '9':
			obj.style.backgroundColor = "#9966CC"; 
			obj.style.color = "#FFFFFF";
			break;
		default:
        	obj.style.backgroundColor = "#FFFFFF";
			obj.style.color = "#000000";
			break;
	}
}

function valida_fecha(objeto){
	valor = objeto.value;
	if(trim(valor)=='') return true;
	expreg = /^[0-3][0-9]\/(([0][1-9])|([1][0-2]))\/[1-2][0-9]{3}$/;
	resul = expreg.test(valor);
	if(!resul){
		alert("Valor de Fecha incorrecto.");
		return resul;
	}else{
		
		cDia = valor.substring(0, 2);
		cDia = cDia.substring(0, 1) == "0" ? cDia.substring(1,2) : cDia;
		cMes = valor.substring(3, 5);
		cMes = cMes.substring(0, 1) == "0" ? cMes.substring(1,2) : cMes;
		fecha = new Date( parseInt(valor.substring(6, 10)), 
						  parseInt(cMes) - 1, 
						  parseInt(cDia) );
		if(fecha.getFullYear() != 2013){
			alert("Valor de Fecha fuera del rango de la Encuesta.1");
			return false;
		}
	
		if( fecha.getMonth() != 7 && fecha.getMonth() != 8 && fecha.getMonth() != 9 && fecha.getMonth() != 10 && fecha.getMonth() != 11 && fecha.getMonth() != 12){
			
			alert("Valor de Fecha fuera del rango de la Encuesta.2");
			return false;				
		}
		objeto.value = (fecha.getDate()>9 ? fecha.getDate() : "0" + fecha.getDate()) + "/" + 
					   (fecha.getMonth()+1>9 ? (fecha.getMonth()+1) : "0" + (fecha.getMonth()+1)) + "/" + 
					   fecha.getFullYear();
	}
	return resul;
}

function valida_fecha_corta(objeto){
	valor = objeto.value;
	if(trim(valor)=='') return true;
	if(valor.length==5) valor+= "/2013";
	expreg = /^[0-3][0-9]\/(([0][1-9])|([1][0-2]))\/[1-2][0-9]{3}$/;
	resul = expreg.test(valor);
	if(!resul){
		alert("Valor de Fecha incorrecto.");
		return resul;
	}else{

		cDia = valor.substring(0, 2);
		cDia = cDia.substring(0, 1) == "0" ? cDia.substring(1,2) : cDia;
		cMes = valor.substring(3, 5);
		cMes = cMes.substring(0, 1) == "0" ? cMes.substring(1,2) : cMes;
		fecha = new Date( parseInt(valor.substring(6, 10)), 
						  parseInt(cMes) - 1, 
						  parseInt(cDia) );
		if(fecha.getFullYear() != 2013){
			alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;
		}
	
		if( fecha.getMonth() != 7 && fecha.getMonth() != 8  && fecha.getMonth() != 9 && fecha.getMonth() != 10 && fecha.getMonth() != 11 && fecha.getMonth() != 12 ){
			
			alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;				
		}
		objeto.value = (fecha.getDate()>9 ? fecha.getDate() : "0" + fecha.getDate()) + "/" + 
					   (fecha.getMonth()+1>9 ? (fecha.getMonth()+1) : "0" + (fecha.getMonth()+1));
	}
	return resul;
}

function valida_fecha2(valor, msj){
	if(trim(valor)=='') return true;
	expreg = /^[0-3][0-9]\/(([0][1-9])|([1][0-2]))\/[1-2][0-9]{3}$/;
	resul = expreg.test(valor);
	if(resul){
		cDia = valor.substring(0, 2);
		cDia = cDia.substring(0, 1) == "0" ? cDia.substring(1,2) : cDia;
		cMes = valor.substring(3, 5);
		cMes = cMes.substring(0, 1) == "0" ? cMes.substring(1,2) : cMes;
		nAnio = parseInt(valor.substring(6, 10));
		nDia = parseInt(cDia); nMes = parseInt(cMes);
		
		if(nAnio != 2013){
			if(msj) alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;
		}
		
		if(cMes != 11 && cMes != 12  ){
			
			if(msj) alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;				
		}		
		
		if(nMes == 0 || nMes > 12){
			resul = false;
		}else{
			if(nDia == 0 || nDia > 31){
				resul = false;
			}else{
				if(nMes == 1 || nMes == 3 || nMes == 5 || nMes == 7 || nMes == 8 || nMes == 10 || nMes == 12){
				}else{
					if(nMes == 2){
						if(nAnio%4 == 0){
							if(nDia > 29) resul = false;
						}else{
							if(nDia > 28) resul = false;
						}
					}else{
						if(nDia > 30) resul = false;
					}
				}
			}
		}
	}
	if(!resul && msj) alert("Valor de Fecha incorrecto.");
	return resul;
}

function valida_fecha_opeCampo(objeto){
	valor = objeto.value;
	if(trim(valor)=='') return true;
	expreg = /^[0-3][0-9]\/(([0][1-9])|([1][0-2]))\/[1-2][0-9]{3}$/;
	resul = expreg.test(valor);
	if(!resul){
		alert("Valor de Fecha incorrecto.");
		return resul;
	}else{
	
		cDia = valor.substring(0, 2);
		cDia = cDia.substring(0, 1) == "0" ? cDia.substring(1,2) : cDia;
		cMes = valor.substring(3, 5);
		cMes = cMes.substring(0, 1) == "0" ? cMes.substring(1,2) : cMes;
		fecha = new Date( parseInt(valor.substring(6, 10)), 
						  parseInt(cMes) - 1, 
						  parseInt(cDia) );
		if(fecha.getFullYear() != 2013){
			alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;
		}
		if(fecha.getMonth() != 5 && fecha.getMonth() != 6 && fecha.getMonth() != 7){
			alert(8);
			alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;				
		}
		objeto.value = (fecha.getDate()>9 ? fecha.getDate() : "0" + fecha.getDate()) + "/" + 
					   (fecha.getMonth()+1>9 ? (fecha.getMonth()+1) : "0" + (fecha.getMonth()+1)) + "/" + 
					   fecha.getFullYear();
	}
	
	if(!valida_fecha_encuenta(objeto.value, true))
	{
		return false;
	}
	
	return resul;
}

function valida_fecha_corta_opeCampo(objeto){
	valor = objeto.value;
	if(trim(valor)=='') return true;
	if(valor.length==5) valor+= "/2013";
	expreg = /^[0-3][0-9]\/(([0][1-9])|([1][0-2]))\/[1-2][0-9]{3}$/;
	resul = expreg.test(valor);
	if(!resul){
		alert("Valor de Fecha incorrecto.");
		return resul;
	}else{
	
		cDia = valor.substring(0, 2);
		cDia = cDia.substring(0, 1) == "0" ? cDia.substring(1,2) : cDia;
		cMes = valor.substring(3, 5);
		cMes = cMes.substring(0, 1) == "0" ? cMes.substring(1,2) : cMes;
		fecha = new Date( parseInt(valor.substring(6, 10)), 
						  parseInt(cMes) - 1, 
						  parseInt(cDia) );
		if(fecha.getFullYear() != 2013){
			alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;
		}
		if(fecha.getMonth() != 9 && fecha.getMonth() != 10){
			alert(9);
			alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;				
		}
		objeto.value = (fecha.getDate()>9 ? fecha.getDate() : "0" + fecha.getDate()) + "/" + 
					   (fecha.getMonth()+1>9 ? (fecha.getMonth()+1) : "0" + (fecha.getMonth()+1));
	}
	
	if(!valida_fecha_encuenta(objeto.value + "/2013", true))
	{
		return false;
	}	
	
	return resul;
}

function valida_fecha2_opeCampo(valor, msj){
	if(trim(valor)=='') return true;
	expreg = /^[0-3][0-9]\/(([0][1-9])|([1][0-2]))\/[1-2][0-9]{3}$/;
	resul = expreg.test(valor);
	if(resul){
		cDia = valor.substring(0, 2);
		cDia = cDia.substring(0, 1) == "0" ? cDia.substring(1,2) : cDia;
		cMes = valor.substring(3, 5);
		cMes = cMes.substring(0, 1) == "0" ? cMes.substring(1,2) : cMes;
		nAnio = parseInt(valor.substring(6, 10));
		nDia = parseInt(cDia); nMes = parseInt(cMes);
		
		if(nAnio != 2013){
			if(msj) alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;
		}
		if(cMes != 10 && cMes != 11){
			alert(10);
			if(msj) alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;				
		}		
		
		if(nMes == 0 || nMes > 12){
			resul = false;
		}else{
			if(nDia == 0 || nDia > 31){
				resul = false;
			}else{
				if(nMes == 1 || nMes == 3 || nMes == 5 || nMes == 7 || nMes == 8 || nMes == 10 || nMes == 12){
				}else{
					if(nMes == 2){
						if(nAnio%4 == 0){
							if(nDia > 29) resul = false;
						}else{
							if(nDia > 28) resul = false;
						}
					}else{
						if(nDia > 30) resul = false;
					}
				}
			}
		}
	}
	if(!resul && msj) alert("Valor de Fecha incorrecto.");
	
	if(!valida_fecha_encuenta(valor, true))
	{
		return false;
	}	
		
	return resul;
}

function valida_fecha_encuenta(fecha, msj)
{
	var dfecha = fecha_desde_cadena(fecha);

	var fecini = fecha_desde_cadena("01/07/2013");
	var fecfin = fecha_desde_cadena("20/12/2013");
	if(dfecha < fecini || dfecha > fecfin)
	{
		
		if(msj) alert("Valor de Fecha fuera del rango de la encuesta.");
		return false;
	}
	return true;
}

function valida_fecha_corta_opeCampocc(objeto){
	valor = objeto.value;
	
	if(trim(valor)=='') return true;
	if(valor.length==5) valor+= "/2013";
	expreg = /^[0-3][0-9]\/(([0][1-9])|([1][0-2]))\/[1-2][0-9]{3}$/;
	resul = expreg.test(valor);
	if(!resul){
		alert("Valor de Fecha incorrecto.");
		return resul;
	}else{

		cDia = valor.substring(0, 2);
		cDia = cDia.substring(0, 1) == "0" ? cDia.substring(1,2) : cDia;
		cMes = valor.substring(3, 5);
		cMes = cMes.substring(0, 1) == "0" ? cMes.substring(1,2) : cMes;
		fecha = new Date( parseInt(valor.substring(6, 10)), 
						  parseInt(cMes), 
						  parseInt(cDia) );
		if(fecha.getFullYear() != 2013){			
			alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;
		}
			
					   
	}
	
   
	if(!valida_fecha_encuentacc(valor, true))
	{
		return false;
	}
	
	return resul;
}


function valida_fecha2_opeCampocc(valor, msj){
	if(trim(valor)=='') return true;
	expreg = /^[0-3][0-9]\/(([0][1-9])|([1][0-2]))\/[1-2][0-9]{3}$/;
	resul = expreg.test(valor);
	if(resul){
		cDia = valor.substring(0, 2);
		cDia = cDia.substring(0, 1) == "0" ? cDia.substring(1,2) : cDia;
		cMes = valor.substring(3, 5);
		cMes = cMes.substring(0, 1) == "0" ? cMes.substring(1,2) : cMes;
		nAnio = parseInt(valor.substring(6, 10));
		nDia = parseInt(cDia); nMes = parseInt(cMes);
		
		if(nAnio != 2013){
			if(msj) alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;
		}
		
		if(cMes != 04 && cMes != 05 && cMes != 06){
			
			if(msj) alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;				
		}		
		
		if(nMes == 0 || nMes > 12){
			resul = false;
		}else{
			if(nDia == 0 || nDia > 31){
				resul = false;
			}else{
				if(nMes == 1 || nMes == 3 || nMes == 5 || nMes == 7 || nMes == 8 || nMes == 10 || nMes == 12){
				}else{
					if(nMes == 2){
						if(nAnio%4 == 0){
							if(nDia > 29) resul = false;
						}else{
							if(nDia > 28) resul = false;
						}
					}else{
						if(nDia > 30) resul = false;
					}
				}
			}
		}
	}
	if(!resul && msj) alert("Valor de Fecha incorrecto.");
	
	if(!valida_fecha_encuentacc(valor, true))
	{
		return false;
	}	
		
	return resul;
}

function valida_fecha_encuentacc(fecha, msj)
{
	var dfecha = fecha_desde_cadena(fecha);

	var fecini = fecha_desde_cadena("26/08/2013");
	var fecfin = fecha_desde_cadena("30/09/2013");
	if(dfecha < fecini || dfecha > fecfin)
	{	
		if(msj) alert("Valor de Fecha fuera del rango de la encuesta.");
		return false;
	}
	return true;
}


function formatea_Hora(obj){
	if(trim(obj.value)=="") return;
	if(obj.value.indexOf(":")>=0){
		var hora, minuto;
		hora = trim(obj.value.substring(0, obj.value.indexOf(":")));
		minuto = obj.value.substring(obj.value.indexOf(":") + 1, obj.value.length);
		if(hora.length == 0) hora = "00";
		if(hora.length == 1) hora = "0" + hora;
		if(minuto.length == 0) minuto = "00";
		if(minuto.length == 1) minuto = "0" + minuto;
		obj.value = hora + ":" + minuto;
	}else{
		if(obj.value.length==1) obj.value = "0" + obj.value;
		if(obj.value.length==2) obj.value+= ":00";
	}
}

function formatea_fecha(obj, anio){
	cAnio = anio.toString();
	if(trim(obj.value) == "") return;
	if(obj.value.length == 5) obj.value+= "/";
	if(obj.value.length != 6 && obj.value.length != 8) return;
	if(obj.value.length == 6){
		obj.value+= cAnio;
	}else{
		obj.value= obj.value.substring(0, 6) + cAnio.substring(0, 2) + obj.value.substring(6, 8);
	}
}

function valida_hora(valor, msj){
	if(trim(valor)=='') return true;
	expreg = /^[0-2][0-9]:[0-5][0-9]$/;
	resul = expreg.test(valor);
	if(!resul){
		if(msj) alert("Valor de Hora incorrecto (Ingrese con el formato 00:00).");
	}else{
		nhora = valor.substring(0, 2);
		if(nhora.substring(0,1) == "0") nhora = nhora.substring(1, 2);
		nminuto = valor.substring(3, 5);
		if(nminuto.substring(0,1) == "0") nminuto = nminuto.substring(1, 2);
		if(parseInt(nhora) > 23 || parseInt(nminuto) > 59){
			if(msj) alert("Valor de Hora incorrecto (Ingrese con el formato 00:00).");
			resul = false;
		}
	}
	return resul;
}

function valida_telef(valor, msj){
	if(trim(valor)=='') return true;
	valor = valor.toUpperCase();
	expreg1 = /^[\-\(\)\s\/0-9]*\s*[ANX]*\-*\s*[\-\(\)\s\/0-9]*$/;
	expreg2 = /^[\-\(\)\s\/0-9]*\s*[ANX\.]*\-*\s*[\-\(\)\s\/0-9]*$/;
	expreg3 = /^[\-\(\)\s\/0-9]*\s*[ANEXO]*\-*\s*[\-\(\)\s\/0-9]*$/;
	resul = (expreg1.test(valor) || expreg2.test(valor) || expreg3.test(valor));
	if(!resul){
		if(msj) alert("Tel�fono/Fax incorrecto.");
	}
	return resul;
}

function fecha_desde_cadena(cfecha){
	cdia = cfecha.substring(0,2);
	cdia = cdia.substring(0, 1) == "0" ? cdia.substring(1,2) : cdia;
	cmes = cfecha.substr(3,5);
	cmes = cmes.substring(0, 1) == "0" ? cmes.substring(1,2) : cmes;
	canno = cfecha.substr(6,10);
	dfecha = new Date(parseInt(canno), parseInt(cmes) - 1, parseInt(cdia));
	return dfecha;
}

function cadena_desde_fecha(dfecha){
	cfecha = (dfecha.getDate()>9 ? dfecha.getDate() : "0" + dfecha.getDate()) + "/" + 
			 (dfecha.getMonth()+1>9 ? (dfecha.getMonth()+1) : "0" + (dfecha.getMonth()+1)) + "/" + 
			 dfecha.getFullYear();
	return cfecha; 
}

function diferencia_fechas(cfecha1, cfecha2){
	//Retorna la diferencia de fechas en dias
	dfecha1 = fecha_desde_cadena(cfecha1);
	dfecha2 = fecha_desde_cadena(cfecha2);
	ndif = (((((dfecha2 - dfecha1) /1000) / 60) / 60) / 24) + 1;
	return ndif;
}

function diferencia_fechas1(cfecha1, cfecha2){
	//Retorna la diferencia de fechas en dias
	dfecha1 = fecha_desde_cadena(cfecha1);
	dfecha2 = fecha_desde_cadena(cfecha2);
	ndif = (((((dfecha2 - dfecha1) /1000) / 60) / 60) / 24);
	return ndif;
}

function hora_menor_a(chora1, chora2, msj){
	//Si una de las dos horas es vac�a � no tiene el formato correcto no se evalue la funci�n.
	var a;
	a = valida_hora(chora1, false);
	if(!a) return true;
	a = valida_hora(chora2, false);
	if(!a) return true;
	if(trim(chora1) == "") return true;
	if(trim(chora2) == "") return true;
	nhora1 = chora1.substring(0, 2);
	if(nhora1.substring(0,1) == "0") nhora1 = nhora1.substring(1, 2);
	nhora2 = chora2.substring(0, 2);
	if(nhora2.substring(0,1) == "0") nhora2 = nhora2.substring(1, 2);
	if(parseInt(nhora1) > parseInt(nhora2)){
		if(msj) alert("Hora inicial es mayor que Hora final.");
		return false;
	}else{
		if(parseInt(nhora1) == parseInt(nhora2)){
			nminuto1 = chora1.substring(3, 5);
			if(nminuto1.substring(0,1) == "0") nminuto1 = nminuto1.substring(1, 2);
			nminuto2 = chora2.substring(3, 5);
			if(nminuto2.substring(0,1) == "0") nminuto2 = nminuto2.substring(1, 2);
			if(parseInt(nminuto1) >= parseInt(nminuto2)){
				if(msj) alert("Hora inicial es mayor � igual que Hora final.");
				return false;
			}
		}
	}
	return true;
}

function enfocarControl(nomobj, evt){
	if(evt.keyCode==13){
		obj = eval(document.getElementById(nomobj));
		if(obj){
			evt.returnValue = false;
			obj.focus();
		}
	}
}

function enfocarControl_alt(nomobj, nomobj_alt, evt){

	if(evt.keyCode==13){
		obj = eval(document.getElementById(nomobj));
		if(obj){
			evt.returnValue = false;
			obj.focus();
		}else{
			obj = eval(document.getElementById(nomobj_alt));
			if(obj){
				evt.returnValue = false;
				obj.focus();
			}
		}
	}
}

function enfocarControl_2(nomobj, index, evt){
	if(evt.keyCode==13){
		obj = eval(document.getElementById(nomobj + index));
		while(obj){
			if(obj.disabled==false && obj.readOnly==false){
				evt.returnValue = false;
				obj.focus();
				return;
			}else{
				obj = eval(document.getElementById(nomobj + (++index)));
			}
		}
	}
}

function enfocarOtro(nomObj, nomObjOtro, nomObjNormal, valOtro, evt){
	if(evt.keyCode==13){
		if(document.getElementById(nomObj).value == valOtro){
			document.getElementById(nomObjOtro).disabled = false;
			document.getElementById(nomObjOtro).focus();
		}else{
			document.getElementById(nomObjNormal).focus();
		}
		evt.returnValue = false;
	}
}

function enfocarOtro_alt(nomObj, nomObjOtro, nomObjNormal, nomObjNormal_alt, valOtro, evt){
	if(evt.keyCode==13){
		if(document.getElementById(nomObj).value == valOtro){
			document.getElementById(nomObjOtro).disabled = false;
			document.getElementById(nomObjOtro).focus();
		}else{
			obj = eval(document.getElementById(nomObjNormal));
			if(obj)
				document.getElementById(nomObjNormal).focus();
			else
				document.getElementById(nomObjNormal_alt).focus();
		}
		evt.returnValue = false;
	}
}

function enfocarControl_condic(nomObj, nomObjCondic, nomObjNormal, valCondic, evt){
	if(evt.keyCode==13){
		if(document.getElementById(nomObj).value == valCondic){
			document.getElementById(nomObjCondic).focus();
		}else{
			document.getElementById(nomObjNormal).focus();
		}
		evt.returnValue = false;
	}
}



function completa(field,t) {
	a = "00000" + trim(field.value); 
	if (field.value != "" && field.value != 0) {
		field.value = a.substr(a.length - t, t);
	}
}

function completa2(valor,t) {
	a = "00000" + trim(valor); 
	if (valor != "" && valor != 0) {
		valor = a.substr(a.length - t, t);
	}
	return valor;
}

function valida_numeros(valor){
	if(trim(valor)=='') return true;
	expreg = /^[0-9]+$/;
	resul = expreg.test(valor);	
	return resul;
}

function valida_entero(valor){
	if(trim(valor)=='') return true;
	expreg = /^[1-9]{1}[0-9]*$/;
	resul = (expreg.test(valor) || valor == "0");	
	return resul;
}

function valida_decimal(valor){
	if(trim(valor)=='') return true;
	expreg = /^[0](\.{1}[0-9]+)?$/;
	resul1 = expreg.test(valor);
	expreg = /^[1-9]{1}[0-9]*(\.{1}([0-9]+))?$/;
	resul2 = expreg.test(valor);	
	return resul1 || resul2;
}

function valida_entero_de_a(valor, minim, maxim){
	if(trim(valor) == "") return true;
	if(!valida_entero(valor)){
		return false;
	}else{
		var x;
		x = parseInt(valor);
		if(x < minim || x > maxim){
			return false;
		}
	}
	return true;
}

function valida_entero_de_a_msj(valor, minim, maxim, msj){
	if(trim(valor) == "") return true;
	if(!valida_entero(valor)){
		if(msj) alert("Dato incorrecto.");
		return false;
	}else{
		var x;
		x = parseInt(valor);
		
		//*** Omision ***//
		if(omision){
			var y;
			y = val_omision(maxim);
			if(x==y) return true;
		}
				
		if(x < minim || x > maxim){
			if(msj) alert("Dato incorrecto.");
			return false;
		}
	}
	return true;
}

function valida_Letras_espac(valor, msj){
	if(trim(valor) == "") return true;
	expreg = /^[A-Za-z��\s]+$/;
	
	resul = expreg.test(valor);	
	if(!resul && msj) alert("Dato incorrecto.");
	return resul;
}

function valida_Letras(valor, msj){
	if(trim(valor) == "") return true;
	expreg = /^[A-Za-z��]+$/;
	
	resul = expreg.test(valor);	
	if(!resul && msj) alert("Dato incorrecto.");
	return resul;
}

function valida_NumLetras_espac(valor, msj){
	if(trim(valor) == "") return true;
	expreg = /^[0-9A-Za-z��\s]+$/;
	
	resul = expreg.test(valor);	
	if(!resul && msj) alert("Dato incorrecto.");
	return resul;
}

function valida_NumLetras_espac_otros(valor, msj){
	if(trim(valor) == "") return true;
	
	expreg = /^[0-9A-Za-z�������"'\.\-\(\)\:\/\,\s]+$/;
	
	resul = expreg.test(valor);	
	if(!resul && msj) alert("Dato incorrecto.");
	return resul;
}


function valida_NumLetras(valor, msj){
	if(trim(valor) == "") return true;
	expreg = /^[0-9A-Za-z��]+$/;
	resul = expreg.test(valor);	
	if(!resul && msj) alert("Dato incorrecto.");
	return resul;
}

function valida_no_vacio(objeto){
	if(trim(objeto.value) == ""){
		alert("No ha ingresado todos los datos obligatorios.");
		objeto.focus();
		return false;
	}
	return true;
}


function valida_pase_vacio(nomObj, nomObjComp, valorPase, numPreg, numPregComp, msj){
	if(document.getElementById(nomObjComp).value == valorPase){
		if(trim(document.getElementById(nomObj).value) != ""){
			if(msj) alert("No debe ingresar datos en pregunta " + numPreg + ", si pregunta " + numPregComp + 
						  " tiene el valor '" + valorPase + "'.");
			return false;
		}
	}
	return true;
}

function valida_tam_textarea(obj, maxlenght, evt){
	if(evt.keyCode!=13 && evt.keyCode!=8 && evt.keyCode!=46 && evt.keyCode!=40 && 
	   evt.keyCode!=38 && evt.keyCode!=37 && evt.keyCode!=39 && evt.keyCode!=9){
		if(obj.value.length > maxlenght){
			alert('Ha superado el tama�o m�ximo permitido (' + maxlenght + ')'); 
			return false;
		}
	}
	return true;
}

function verifica_valorOtro(nomObj, nomObjOtro, valorOtro, deshabilitar){
	if(document.getElementById(nomObj).value == valorOtro){
		if(deshabilitar) document.getElementById(nomObjOtro).disabled = false;
	}else{
		if(deshabilitar) document.getElementById(nomObjOtro).disabled = true;
		document.getElementById(nomObjOtro).value = "";
	}
}


function limpiacaja_valor(nomObj, valorObj,objotro){
	if(document.getElementById(nomObj).value == valorObj){		
	   document.getElementById(objotro).value = "";
	}
}


function verifica_valorOtro2(nomObj, nomObjOtro, deshabilitar){
	if(document.getElementById(nomObj).value != ""){
		if(deshabilitar) document.getElementById(nomObjOtro).disabled = false;
	}else{
		if(deshabilitar) document.getElementById(nomObjOtro).disabled = true;
		document.getElementById(nomObjOtro).value = ""
	}
}

function verMensajeCarga(mostrar){
	obj = eval(window.document.getElementById("Mjs1"));
	if(obj) obj.style.visibility = (mostrar ? "visible" : "hidden");
}

function ajustarFrame_local(sn){
	objFrame = eval(window.parent.document.getElementsByTagName("frameset"));
	if(!objFrame) return;
	switch(sn){
		case 1:
			tamFrameActual = "78,0,*";
			break;
		case 2:
			tamFrameActual = "78,58,*";
			break;
		case 3:
			tamFrameActual = "78,30,*";
			break;			
	}
	objFrame[0].rows = tamFrameActual;
}

function val_omision(maxim){
	if(maxim < 10) return 9;
	if(maxim < 100) return 99;
	if(maxim < 1000) return 999;
	return 9999;
}

function val_mes_anterior(valor, msj){
	if(trim(valor)=="") return true;
	if(!valida_mes_alfa(valor, true)) return false;
	var obj;
	valor = valor.toUpperCase();
	obj = eval(document.getElementById("hdnmes_anterior"));
	if(obj){
		if(isNaN(parseInt(obj.value))) return true;
		var meses = new Array();
		meses[0] = ""; meses[1] = "ENE"; meses[2] = "FEB"; meses[3] = "MAR";
		meses[4] = "ABR"; meses[5] = "MAY"; meses[6] = "JUN"; meses[7] = "JUL"; 
		meses[8] = "AGO"; meses[9] = "SET"; meses[10] = "OCT"; 	meses[11] = "NOV";
		meses[12] = "DIC";
		

		if(valor != meses[parseInt(obj.value) - 1]){

			if((valor == "SEP" && meses[parseInt(obj.value) - 1] == "SET") || valor == "AGO" && meses[parseInt(obj.value) - 1] == "AGO"){
				return true;
			}else{
				if(msj) alert("Mes anterior ingresado no guarda relaci�n con la primera fecha de entrevista.");
				return false;
			}
		}
	}
	return true;
}

function valida_mes_alfa(valor, msj){ 
	if(trim(valor)=="") return true;
	valor = valor.toUpperCase();
	
	var meses = new Array();
	meses[0] = ""; meses[1] = "ENE"; meses[2] = "FEB"; meses[3] = "MAR";
	meses[4] = "ABR"; meses[5] = "MAY"; meses[6] = "JUN"; meses[7] = "JUL"; 
	meses[8] = "AGO"; meses[9] = "SET"; meses[10] = "OCT"; 	meses[11] = "NOV";
	meses[12] = "DIC";	
	var x, existe;
	existe = false;
	for(x=0; x<=12; x++){
		if(valor == meses[x]){
			existe = true;
			break;
		}
	}
	if(existe == false){
		if(msj) alert("(1) Mes ingresado incorrecto � fuera del rango de la encuesta.");
		return false;
	}
	return true;
}


function valida_mes_alfa_3_meses(valor, msj){
	if(trim(valor)=="") return true;
	valor = valor.toUpperCase();
	var meses = new Array();
	meses[0] = ""; meses[1] = ""; meses[2] = "FEB"; meses[3] = "MAR";
	meses[4] = "ABR"; meses[5] = "MAY"; meses[6] = "JUN"; meses[7] = "JUL"; 
	meses[8] = ""; meses[9] = ""; meses[10] = ""; 	meses[11] = "";
	meses[12] = "";	
	var x, existe;
	existe = false;
	for(x=0; x<=12; x++){
		if(valor == meses[x] || valor == "SEP"){
			existe = true;
			break;
		}
	}
	if(existe == false){
		if(msj) alert("Mes ingresado incorrecto � fuera del rango de la encuesta.");
		return false;
	}
	
	return true;
}

function valida_mes_alfa_6_meses(valor, msj){
	if(trim(valor)=="") return true;
	valor = valor.toUpperCase();
	var meses = new Array();
	meses[0] = "ENE"; meses[1] = "FEB"; meses[2] = ""; meses[3] = "MAR";
	meses[4] = "ABR"; meses[5] = "MAY"; meses[6] = "JUN"; meses[7] = "JUL"; 
	meses[8] = "AGO"; meses[9] = "SET"; meses[10] = "OCT"; 	meses[11] = "NOV";
	meses[12] = "DIC";	
	var x, existe;
	existe = false;
	for(x=0; x<=12; x++){
		if(valor == meses[x] || valor == "SEP"){
			existe = true;
			break;
		}
	}
	if(existe == false){
		if(msj) alert("Mes ingresado incorrecto � fuera del rango de la encuesta.");
		return false;
	}
	
	return true;
}

function valida_mes_alfa_12_meses(valor, msj){
	if(trim(valor)=="") return true;
	valor = valor.toUpperCase();
	var meses = new Array();
	meses[0] = ""; meses[1] = ""; meses[2] = ""; meses[3] = "";
	meses[4] = ""; meses[5] = ""; meses[6] = ""; meses[7] = ""; 
	meses[8] = "AGO"; meses[9] = "SET"; meses[10] = "OCT"; 	meses[11] = "";
	meses[12] = "";	
	var x, existe;
	existe = false;
	for(x=0; x<=12; x++){
		if(valor == meses[x] || valor == "SEP"){
			existe = true;
			break;
		}
	}
	if(existe == false){
		if(msj) alert("Mes ingresado incorrecto � fuera del rango de la encuesta.");
		return false;
	}
	
	return true;
}

function valida_mes_alfa_semana_ant(valor, msj){
	if(trim(valor)=="") return true;
	valor = valor.toUpperCase();
	var meses = new Array();
	meses[0] = ""; meses[1] = "ENE"; meses[2] = "FEB"; meses[3] = "MAR";
	meses[4] = "ABR"; meses[5] = "MAY"; meses[6] = "JUN"; meses[7] = "JUL"; 
	meses[8] = "AGO"; meses[9] = "SET"; meses[10] = "OCT"; 	meses[11] = "NOV";
	meses[12] = "DIC";	
	var x, existe;
	existe = false;
	for(x=0; x<=12; x++){
		if(valor == meses[x] ){
			existe = true;
			mes = x;
			break;
		}
	}
	if(existe == false){
		if(msj) alert("(3) Mes ingresado incorrecto � fuera del rango de la encuesta.");
		return false;
	}
	
		
	return true;
}


function val_diferencia_mes_anio(mes_alfa1, anioCorto1, mes_alfa2, anioCorto2, diferen, msj){
	if(trim(mes_alfa1)=="" || trim(anioCorto1)=="" || trim(mes_alfa2)=="" || trim(anioCorto2)=="") return true;
	mes_alfa1 = mes_alfa1.toUpperCase();
	mes_alfa2 = mes_alfa2.toUpperCase();
	var meses = new Array();
	meses[0] = ""; meses[1] = ""; meses[2] = ""; meses[3] = "MAR";
	meses[4] = "ABR"; meses[5] = "MAY"; meses[6] = "JUN"; meses[7] = "JUL"; 
	meses[8] = "AGO"; meses[9] = "SET"; meses[10] = "OCT"; 	meses[11] = "NOV";
	meses[12] = "DIC";

	if(trim(anioCorto1)!="10") return true;
	if(trim(anioCorto2)!="10") return true;
	
	
	var meses = new Array();
	meses[0] = ""; meses[1] = ""; meses[2] = ""; meses[3] = "MAR";
	meses[4] = "ABR"; meses[5] = "MAY"; meses[6] = "JUN"; meses[7] = "JUL"; 
	meses[8] = "AGO"; meses[9] = "SET"; meses[10] = "OCT"; 	meses[11] = "NOV";
	meses[12] = "DIC";	
	
	var x = 0, nmes1 = 0, nmes2 = 0;
	for(x=0; x<=12; x++){
		if(mes_alfa1 == meses[x] || (mes_alfa1 == "SEP" && x == 9)){
			nmes1 = x;
			break;
		}
	}
	if(nmes1 == 0) return true;

	for(x=0; x<=12; x++){
		if(mes_alfa2 == meses[x] || (mes_alfa2 == "SEP" && x == 9)){
			nmes2 = x;
			break;
		}
	}
	if(nmes2 == 0) return true;
	
	if(nmes2 - nmes1 + 1 != diferen){
		if(msj) alert("Rango ingresado incorrecto.");
		return false;
	}
	
	return true;
}


function valida_anio_corto_alfa_3_meses(valor, msj){
	if(trim(valor)=="") return true;
	if(valor.length > 2) return true;
	var correcto = true;
	if(valor.substring(0, 1) == "0" && valor.length == 2) valor = valor.substring(1, valor.length);
	if(!isNaN(parseInt(valor))){
	
		if(parseInt(valor) != 12) correcto = false;
	}else{
		correcto = false;
	}
	if(correcto == false){
		if(msj) alert("A�o ingresado incorrecto.")	
		return false;
	}
	return true;
}



function valida_anio_corto_alfa(valor, msj){
	if(trim(valor)=="") return true;
	if(valor.length > 2) return true;
	var correcto = true;
	if(valor.substring(0, 1) == "0" && valor.length == 2) valor = valor.substring(1, valor.length);
	if(!isNaN(parseInt(valor))){
		if(parseInt(valor) < 07 || parseInt(valor) > 12) correcto = false;
	}else{
		correcto = false;
	}
	if(correcto == false){
		if(msj) alert("A�o ingresado incorrecto � fuera del rango de la encuesta.")	
		return false;
	}
	return true;
}

function diferencia_anio_corto_alfa(valor1, valor2, msj){
	if(trim(valor1)=="" || trim(valor2)=="") return true;
	if(valor1.length > 2 || valor2.length > 2) return true;
	if(valor1.substring(0, 1) == "0" && valor1.length == 2) valor1 = valor1.substring(1, valor1.length);
	if(valor2.substring(0, 1) == "0" && valor2.length == 2) valor2 = valor2.substring(1, valor2.length);
	if(isNaN(parseInt(valor1)) || isNaN(parseInt(valor2))) return true;
	if(parseInt(valor1) >= parseInt(valor2)){
		if(msj) alert("Rango ingresado incorrecto.");
		return false;
	}
	return true;
}

function val_numero_mayor_igual(valor1, valor2, pregRel, msj){
	if(trim(valor1)=="") return true;
	if(trim(valor2)=="") return true;
	nvalor1 = parseInt(valor1);
	nvalor2 = parseInt(valor2);
	if(isNaN(nvalor1)) return true;
	if(isNaN(nvalor2)) return true;
	if(nvalor1 == 9999 && omision == true) return true;
	if(nvalor2 == 9999 && omision == true) return true;
	
	if(nvalor1 > nvalor2){
		if(msj) alert("Cantidad no concuerda con cantidad de pregunta " + pregRel + ".");
		return false;
	}
	return true;
}

function val_num_dia_alfa(valor, msj){
	if(trim(valor)=="") return true;
	if(valor.substring(0,1) == "0" && valor.length > 1) valor = valor.substring(1, valor.length);
	if(isNaN(parseInt(valor))){
		if(msj) alert("N�mero de d�a incorrecto.");
		return false;
	}
	if(parseInt(valor) < 1 || parseInt(valor) > 31){
		if(msj) alert("N�mero de d�a incorrecto.");
		return false;
	}
	
	return true;
}

function fecha_desde_fecha_corta_alfa(dia, mes_alfa, anio){
	if(trim(anio) == "") anio = "2010";
	if(trim(dia) == "") return "";
	if(trim(mes_alfa) == "") return "";
	mes_alfa = mes_alfa.toUpperCase();
	var meses = new Array();
	meses[0] = ""; meses[1] = "ENE"; meses[2] = "FEB"; meses[3] = "MAR";
	meses[4] = "ABR"; meses[5] = "MAY"; meses[6] = "JUN"; meses[7] = "JUL"; 
	meses[8] = "AGO"; meses[9] = "SET"; meses[10] = "OCT"; 	meses[11] = "NOV";
	meses[12] = "DIC";
	var mes = 0;
	var x = 0;
	for(x=0; x<=12; x++){
		if(mes_alfa == meses[x] || (mes_alfa == "SEP" && x == 9)){
			mes = x;
			break;
		}
	}
	if(mes == 0) return "";
	var cmes = "";
	cmes = completa2(trim(mes.toString()), 2);
	return dia + "/" + cmes + "/" + anio;
}



function accept_1_y_2_y_9(evt) { 
	//Acepta numeros 1 y 2 y 9
    tecla = (document.all) ? evt.keyCode : evt.which; 
	return ( String.fromCharCode(tecla) == "1" || String.fromCharCode(tecla) == "2" || String.fromCharCode(tecla) == "9" );
}

function accept_0_y_1_y_2_y_9(evt) { 
	//Acepta numeros 1 y 2 y 9
    tecla = (document.all) ? evt.keyCode : evt.which; 
	return ( String.fromCharCode(tecla) == "0" || String.fromCharCode(tecla) == "1" || String.fromCharCode(tecla) == "2" || String.fromCharCode(tecla) == "9" );
}

function valida_entero_de_a_99_msj(valor, minim, maxim, omiso, msj){ 
	if(trim(valor) == "" || trim(valor) == omiso) return true;
	if(!valida_entero(valor)){
		if(msj) alert("Dato incorrecto.");
		return false;
	}else{
		var x;
		x = parseInt(valor);
		if(x < minim || x > maxim){
			if(msj) alert("Dato incorrecto.");
			return false;
		}
	}
	return true;
}

function valida_entero_1_9(valor){ 
	if(trim(valor)=='') return true;
	expreg = /[0129]/;
	resul = expreg.test(valor);	
	if (!resul) alert("Dato incorrecto.");
	return resul;
}

//Agregue Valida ingreso de Letras D,V,R,X, C
function acceptaLetrasDVRX8(evt) { 
	//Acepta letras sin espacios en blanco
    tecla = (document.all) ? evt.keyCode : evt.which; 
    if (tecla==8 || tecla==32) return false; 
    
	patron =/[RXrx9\s-]/;
    te = String.fromCharCode(tecla); 
    return patron.test(te);
}  



function compara_fecha(evt,periodo1,periodo2) { 
	
	if(trim(periodo1.value) == "" || trim(periodo2.value) == ""){
	return true;	
	}
		
	diferencia = 0;
	valor1 = 0;
	valor2 = 0;
	
	per1 = periodo1.value;
    per2 = periodo2.value;

	if(!valida_fecha(periodo1))
	{
		return false;	
	}
	if(!valida_fecha(periodo2))
	{
		return false;	
	}

    diaper1 = per1.substring(0, 2);
    diaper2 = per2.substring(0, 2);
	
		
	if ( diaper1 == '08' || diaper1 == '09') 
	{valor1 = diaper1.substring(1,2);
	}else{
		valor1 = parseInt(diaper1);
	}
	
	if ( diaper2 == '08' || diaper2 == '09') 
	{valor2 = diaper2.substring(1,2);
	}else{
		valor2 = parseInt(diaper2);
	}
		 	
	diferencia = valor2 - valor1;
	
	mesperUNO = per1.substring(5, 3);
    mesper2DOS = per2.substring(5, 3);
	  
	if( (diferencia < 0) && (mesperUNO!="05" && mesperUNO!="07")  ){
		diferencia = diferencia + 30;
	}
	
	if( (diferencia < 0) && (mesperUNO=="05" ||  mesperUNO=="07")  ){
		diferencia = diferencia + 31;
	}
	
    if(diferencia != 6){
	alert("La diferencia entre fechas no coincide"); 
	return false;
    }
	
	
	mesper1 = per1.substring(5, 3);
    mesper2 = per2.substring(5, 3);
	
	var fecini = fecha_desde_cadena(per1);
	var fecfin = fecha_desde_cadena(per2);

	if ( (mesper1 == '05' && mesper2 == '05') && (fecini > fecfin ) ) {
	alert("Fecha Ingresada Incorrecta"); 	
	return false;
	}	
	
	if ( (mesper1 == '06' && mesper2 == '06') && (fecini > fecfin ) ) {
	alert("Fecha Ingresada Incorrecta"); 	
	return false;
	}	
	
	if ( (mesper1 == '05' && mesper2 == '06') && (diaper2 > diaper1 ) ) {
	alert("Fecha Ingresada Incorrecta"); 		
	return false;
	}	
	
	if ( (mesper1 == '05' && mesper2 == '07') && (fecfin > fecini ) ) {
	alert("Fecha Ingresada Incorrecta"); 		
	return false;
	}	
	
	
	if ( (fecini=="21/05/2013" && fecfin!="27/05/2013") || (fecini!="21/05/2013" && fecfin=="27/05/2013") ) {
	alert("Semana de Referencia Incorrecta"); 		
	return false;
	}else if ( (fecini=="28/05/2013" && fecfin!="03/06/2013") || (fecini!="28/05/2013" && fecfin=="03/06/2013") ) {
	alert("Semana de Referencia Incorrecta"); 		
	return false;
	}else if ( (fecini=="04/06/2013" && fecfin!="10/06/2013") || (fecini!="04/06/2013" && fecfin=="10/06/2013") ) {
	alert("Semana de Referencia Incorrecta"); 		
	return false;
	}else if ( (fecini=="11/06/2013" && fecfin!="17/06/2013") || (fecini!="11/06/2013" && fecfin=="17/06/2013") ) {
	alert("Semana de Referencia Incorrecta"); 		
	return false;
	}else if ( (fecini=="18/06/2013" && fecfin!="24/06/2013") || (fecini!="18/06/2013" && fecfin=="24/06/2013") ) {
	alert("Semana de Referencia Incorrecta"); 		
	return false;
	}else if ( (fecini=="25/06/2013" && fecfin!="01/07/2013") || (fecini!="25/06/2013" && fecfin=="01/07/2013") ) {
	alert("Semana de Referencia Incorrecta"); 		
	return false;
	}else if ( (fecini=="02/07/2013" && fecfin!="08/07/2013") || (fecini!="02/07/2013" && fecfin=="08/07/2013") ) {
	alert("Semana de Referencia Incorrecta"); 		
	return false;
	}else if ( (fecini=="09/07/2013" && fecfin!="15/07/2013") || (fecini!="09/07/2013" && fecfin=="15/07/2013") ) {
	alert("Semana de Referencia Incorrecta"); 		
	return false;
	}else if ( (fecini=="16/07/2013" && fecfin!="22/07/2013") || (fecini!="16/07/2013" && fecfin=="22/07/2013") ) {
	alert("Semana de Referencia Incorrecta"); 		
	return false;
	}else if ( (fecini=="23/07/2013" && fecfin!="29/07/2013") || (fecini!="23/07/2013" && fecfin=="29/07/2013") ) {
	alert("Semana de Referencia Incorrecta"); 		
	return false;
	}
	
	suma=0;
	if ( (per1=="21/05/2013" || per1=="28/05/2013" || per1=="04/06/2013" || per1=="11/06/2013" || per1=="18/06/2013" || 
		per1=="25/06/2013" || per1=="02/07/2013" || per1=="09/07/2013" || per1=="16/07/2013" || per1=="23/07/2013") ) {
	suma = suma + 1;	
	}
	if(suma==0){
	alert("Semana de Referencia Incorrecta"); 		
	return false;
		}
		
	sumafin=0;
	if ( (per2=="27/05/2013" || per2=="03/06/2013" || per2=="10/06/2013" || per2=="17/06/2013" || per2=="24/06/2013" || 
		per2=="01/07/2013" || per2=="08/07/2013" || per2=="15/07/2013" || per2=="22/07/2013" || per2=="29/07/2013") ) {
	sumafin = sumafin + 1;	
	}	
	if(sumafin==0){
	alert("Semana de Referencia Incorrecta");  		
	return false;
		}
	
	
	return true;
}

function valida_no_vacio_enGrupo(nomObj, itemIni, itemFin, numPreg, consideraOmision, msj){
	var x;
	var canOmi = 0;
	for(x = itemIni; x <= itemFin; x++){
		var objeto = document.getElementById(nomObj + x);
		if(trim(objeto.value) != ""){
			if(trim(objeto.value) == "9") canOmi++;
			if(consideraOmision || trim(objeto.value) != "9"){
				return true;
			}
		}		
	}
	if(canOmi == itemFin - itemIni + 1){
		return true;	
	}
	if(msj){
		alert("Debe ingresar informaci�n en al menos una alternativa de la pregunta '" + numPreg + "'");
	}
	return false;	
}

function val_diferencia_mes_anio_6_meses(mes_alfa1, anioCorto1, mes_alfa2, anioCorto2, cnumMesEntrev, msj){
	var numMesEntrev = parseInt(cnumMesEntrev);
	if(isNaN(numMesEntrev)) numMesEntrev = 0;
	if(trim(mes_alfa1)=="" || trim(anioCorto1)=="" || trim(mes_alfa2)=="" || trim(anioCorto2)=="") return true;
	mes_alfa1 = mes_alfa1.toUpperCase();
	mes_alfa2 = mes_alfa2.toUpperCase();
	
	if((mes_alfa1 == "MAY" && anioCorto1 == "10" && mes_alfa2 == "OCT" && anioCorto2 == "10") || 
		(mes_alfa1 == "ABR" && anioCorto1 == "10" && mes_alfa2 == "SET" && anioCorto2 == "10"))
	{
		switch(numMesEntrev)
		{

			case 10:
				if(mes_alfa1 != "ABR" || anioCorto1 != "10" || mes_alfa2 != "SET" || anioCorto2 != "10")
				{
					if(msj) alert("Rango ingresado incorrecto.");
					return false;	
				}
				break;			
			case 11:
				if(mes_alfa1 != "MAY" || anioCorto1 != "10" || mes_alfa2 != "OCT" || anioCorto2 != "10")
				{
					if(msj) alert("Rango ingresado incorrecto.");
					return false;	
				}
				break;							
			default:
				if(msj) alert("Rango ingresado incorrecto.");
				return false;
		}		
	}
	else
	{
		if(msj) alert("Rango ingresado incorrecto.");
		return false;
	}
	
	return true;
}


function val_diferencia_mes_anio_5_anios_encred(mes_alfa1, anioCorto1, mes_alfa2, anioCorto2, cnumMesEntrev, msj){
	var numMesEntrev = parseInt(cnumMesEntrev); 
	if(isNaN(numMesEntrev)) numMesEntrev = 0;
	if(trim(mes_alfa1)=="" || trim(anioCorto1)=="" || trim(mes_alfa2)=="" || trim(anioCorto2)=="") return true;
	mes_alfa1 = mes_alfa1.toUpperCase();
	mes_alfa2 = mes_alfa2.toUpperCase();
	
	
	if((mes_alfa1 == "NOV" && anioCorto1 == "07" && mes_alfa2 == "OCT" && anioCorto2 == "12") || 
		(mes_alfa1 == "DIC" && anioCorto1 == "07" && mes_alfa2 == "NOV" && anioCorto2 == "12"))
	{ 
		switch(parseInt(numMesEntrev,10))
		{			
			case 11:
				
				if( (mes_alfa1 == "NOV" && mes_alfa2 != "OCT") || (mes_alfa1 != "NOV" && mes_alfa2 == "OCT") ||
					(mes_alfa1 != "NOV") || (mes_alfa2 != "OCT") || (mes_alfa1 == "DIC" && mes_alfa2 == "NOV")  ) 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}
										
				
				break;
				
			case 12:
				
				if( (mes_alfa1 == "DIC" && mes_alfa2 != "NOV") || (mes_alfa1 != "DIC" && mes_alfa2 == "NOV") ||
					(mes_alfa1 != "DIC") || (mes_alfa2 != "NOV") || (mes_alfa1 == "ENE" && mes_alfa2 == "DIC")  ) 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}
										
				
				break;
											
			default:
				if(msj) alert("Rango ingresado incorrecto.");
				return false;
		}		
	}
	else
	{
		if(msj) alert("Rango ingresado incorrecto.");
		return false;
	}
	
	return true;
}



function val_diferencia_mes_anio_12_meses_encred(mes_alfa1, anioCorto1, mes_alfa2, anioCorto2, cnumMesEntrev, msj){
	var numMesEntrev = parseInt(cnumMesEntrev); 
	if(isNaN(numMesEntrev)) numMesEntrev = 0;
	if(trim(mes_alfa1)=="" || trim(anioCorto1)=="" || trim(mes_alfa2)=="" || trim(anioCorto2)=="") return true;
	mes_alfa1 = mes_alfa1.toUpperCase();
	mes_alfa2 = mes_alfa2.toUpperCase();

	
	if((mes_alfa1 == "NOV" && anioCorto1 == "11" && mes_alfa2 == "OCT" && anioCorto2 == "12") || 
		(mes_alfa1 == "DIC" && anioCorto1 == "11" && mes_alfa2 == "NOV" && anioCorto2 == "12"))
	{ 
		switch(parseInt(numMesEntrev,10))
		{
			case 11:
				
				if( (mes_alfa1 == "NOV" && mes_alfa2 != "OCT") || (mes_alfa1 != "NOV" && mes_alfa2 == "OCT") ||
					(mes_alfa1 != "NOV") || (mes_alfa2 != "OCT") || (mes_alfa1 == "DIC" && mes_alfa2 == "NOV")  ) 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}
										
				
				break;
				
			case 12:	
				
				if( (mes_alfa1 == "DIC" && mes_alfa2 != "NOV") || (mes_alfa1 != "DIC" && mes_alfa2 == "NOV") ||
					(mes_alfa1 != "DIC") || (mes_alfa2 != "NOV") || (mes_alfa1 == "ENE" && mes_alfa2 == "DIC")  ) 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}
										
				
				break;
											
			default:
				if(msj) alert("Rango ingresado incorrecto.");
				return false;
		}		
	}
	else
	{
		if(msj) alert("Rango ingresado incorrecto.");
		return false;
	}
	
	return true;
}


function val_diferencia_mes_anio_12_meses(mes_alfa1, anioCorto1, mes_alfa2, anioCorto2, cnumMesEntrev, msj){
	var numMesEntrev = parseInt(cnumMesEntrev); 
	if(isNaN(numMesEntrev)) numMesEntrev = 0;
	if(trim(mes_alfa1)=="" || trim(anioCorto1)=="" || trim(mes_alfa2)=="" || trim(anioCorto2)=="") return true;
	mes_alfa1 = mes_alfa1.toUpperCase();
	mes_alfa2 = mes_alfa2.toUpperCase();
	if(mes_alfa1 == "SEP") mes_alfa1 = "SET";
	if(mes_alfa2 == "SEP") mes_alfa2 = "SET";
	
	if((mes_alfa1 == "MAY" && anioCorto1 == "11" && mes_alfa2 == "ABR" && anioCorto2 == "12") || 
		(mes_alfa1 == "JUN" && anioCorto1 == "11" && mes_alfa2 == "MAY" && anioCorto2 == "12") ||
		(mes_alfa1 == "JUL" && anioCorto1 == "11" && mes_alfa2 == "JUN" && anioCorto2 == "12") )
	{ 
		switch(numMesEntrev)
		{
			case 5:	
				
				if( (mes_alfa1 == "MAY" && mes_alfa2 != "ABR") || (mes_alfa1 != "MAY" && mes_alfa2 == "ABR") ||
					(mes_alfa1 != "MAY") || (mes_alfa2 != "ABR") || (mes_alfa1 == "JUN" && mes_alfa2 == "MAY")  ) 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}
										
				
				break;
				
			case 6:	
				
				if( (mes_alfa1 == "JUN" && mes_alfa2 != "MAY") || (mes_alfa1 != "JUN" && mes_alfa2 == "MAY") ||
					(mes_alfa1 != "JUN") || (mes_alfa2 != "MAY") || (mes_alfa1 == "MAY" && mes_alfa2 == "ABR")  ) 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}
										
				
				break;
				
			case 7:	
				
				if( (mes_alfa1 == "JUL" && mes_alfa2 != "JUN") || (mes_alfa1 != "JUL" && mes_alfa2 == "JUN") ||
					(mes_alfa1 != "JUL") || (mes_alfa2 != "JUN") || (mes_alfa1 == "JUN" && mes_alfa2 == "JUN")  ) 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}
										
				
				break;
											
			default:
				if(msj) alert("Rango ingresado incorrecto.");
				return false;
		}		
	}
	else
	{
		if(msj) alert("Rango ingresado incorrecto.");
		return false;
	}
	
	return true;
}


function val_diferencia_mes_anio_3_meses_encred(mes_alfa1, anioCorto1, mes_alfa2, anioCorto2, cnumMesEntrev, msj){
	var numMesEntrev = parseInt(cnumMesEntrev);
	if(isNaN(numMesEntrev)) numMesEntrev = 0;
	if(trim(mes_alfa1)=="" || trim(anioCorto1)=="" || trim(mes_alfa2)=="" || trim(anioCorto2)=="") return true;
	mes_alfa1 = mes_alfa1.toUpperCase();
	mes_alfa2 = mes_alfa2.toUpperCase();
	if(mes_alfa1 == "SEP") mes_alfa1 = "SET";
	if(mes_alfa2 == "SEP") mes_alfa2 = "SET";	
	
	if((mes_alfa1 == "AGO" && anioCorto1 == "12" && mes_alfa2 == "OCT" && anioCorto2 == "12") || 
		(mes_alfa1 == "SET" && anioCorto1 == "12" && mes_alfa2 == "NOV" && anioCorto2 == "12"))
	{
		switch(parseInt(numMesEntrev,10))
		{
			case 11:				
				
				if( (mes_alfa1 == "AGO" && mes_alfa2 != "OCT") || (mes_alfa1 != "AGO" && mes_alfa2 == "OCT") ||
					(mes_alfa1 != "AGO") || (mes_alfa2 != "OCT") || (mes_alfa1 == "SET" && mes_alfa2 == "NOV")  ) 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}
									
				break;
			
			case 12:
																
				if( (mes_alfa1 == "SET" && mes_alfa2 != "NOV") || (mes_alfa1 != "SET" && mes_alfa2 == "NOV") ||
					(mes_alfa1 != "SET") || (mes_alfa2 != "NOV") || (mes_alfa1 == "AGO" && mes_alfa2 == "OCT")  ) 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}										
				
				break;
			
			
			default:
				if(msj) alert("Rango ingresado incorrecto.");
				return false;
		}		
	}
	else
	{
		if(msj) alert("Rango ingresado incorrecto.");
		return false;
	}
	
	return true;
}


function val_diferencia_mes_anio_3_meses(mes_alfa1, anioCorto1, mes_alfa2, anioCorto2, cnumMesEntrev, msj){
	var numMesEntrev = parseInt(cnumMesEntrev);
	if(isNaN(numMesEntrev)) numMesEntrev = 0;
	if(trim(mes_alfa1)=="" || trim(anioCorto1)=="" || trim(mes_alfa2)=="" || trim(anioCorto2)=="") return true;
	mes_alfa1 = mes_alfa1.toUpperCase();
	mes_alfa2 = mes_alfa2.toUpperCase();
	if(mes_alfa1 == "SEP") mes_alfa1 = "SET";
	if(mes_alfa2 == "SEP") mes_alfa2 = "SET";	
	
	if((mes_alfa1 == "FEB" && anioCorto1 == "12" && mes_alfa2 == "ABR" && anioCorto2 == "12") || 
		(mes_alfa1 == "MAR" && anioCorto1 == "12" && mes_alfa2 == "MAY" && anioCorto2 == "12") ||
		(mes_alfa1 == "ABR" && anioCorto1 == "12" && mes_alfa2 == "JUN" && anioCorto2 == "12") )
	{
		switch(numMesEntrev)
		{
			case 5:				
				
				if( (mes_alfa1 == "FEB" && mes_alfa2 != "ABR") || (mes_alfa1 != "FEB" && mes_alfa2 == "ABR") ||
					(mes_alfa1 != "FEB") || (mes_alfa2 != "ABR") || (mes_alfa1 == "MAR" && mes_alfa2 == "MAY")  ) 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}
									
				break;
			
			case 6:
																
				if( (mes_alfa1 == "MAR" && mes_alfa2 != "MAY") || (mes_alfa1 != "MAR" && mes_alfa2 == "MAY") ||
					(mes_alfa1 != "MAR") || (mes_alfa2 != "MAY") || (mes_alfa1 == "FEB" && mes_alfa2 == "ABR")  ) 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}										
				
				break;
				
			case 7:
																
				if( (mes_alfa1 == "ABR" && mes_alfa2 != "JUN") || (mes_alfa1 != "ABR" && mes_alfa2 == "JUN") ||
					(mes_alfa1 != "ABR") || (mes_alfa2 != "JUN") || (mes_alfa1 == "MAR" && mes_alfa2 == "MAY")  ) 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}										
				
				break;
								
			
			default:
				if(msj) alert("Rango ingresado incorrecto.");
				return false;
		}		
	}
	else
	{
		if(msj) alert("Rango ingresado incorrecto.");
		return false;
	}
	
	return true;
}



function acceptNumLetras_espac_y(evt){ 
	//Acepta Numeros y Letras con espacios en blanco
	return (acceptNum(evt) || acceptLetras_espac(evt) || String.fromCharCode(evt.keyCode)=='/' ||  String.fromCharCode(evt.keyCode)=='-');
}


function enfocar_resfin(nomobj, index, evt){
	if(evt.keyCode == 13){
		x1 = parseInt(document.getElementById('txtresentfin' + (index-1)).value); x1 = (isNaN(x1) ? 0 : x1);
		
		if(x1 == 1 ){
			
			enfocarControl_2(nomobj, index, evt);
		}else{
			if(x1 == 2 ){
				document.getElementById('txtobserv'+(index-1)).focus();
			}else{
				document.getElementById('txtresentfin_o'+(index-1)).focus();
			}
		}
		evt.returnValue = false;
	}
}



function valida_no_vacio1(objeto,objeto1,num){
	if(trim(document.getElementById(objeto1).value) == "1"  || trim(document.getElementById(objeto1).value) == "9" ){
		if(trim(objeto.value) == ""){
			alert("No ha ingresado todos los datos obligatorios.");
			objeto.focus();
			return false;
		}
	}
	else if(trim(document.getElementById(objeto1).value) != "1" && trim(document.getElementById(objeto1).value) != "9"){
		if((trim(objeto.value) == "1" || trim(objeto.value) == "" ) && num != 1 ){
			alert("Solo debe ingresar 2");
			objeto.focus();
			return false;
		}
		
	}
  
	return true;
}

function valida_no_vacio2(objeto,objeto1,num,FON){

  var maxi;
  if (FON =='1'){maxi =12;}
  if (FON =='2'){maxi =21;}
  if (FON =='3'){maxi =0;} 
	if(trim(document.getElementById(objeto1).value) == "1" ){
		if(trim(objeto.value) == ""){
			alert("No ha ingresado todos los datos obligatorios.");
			objeto.focus();
			return false;
		}
	}
	else if(trim(document.getElementById(objeto1).value) != "1" && trim(document.getElementById(objeto1).value) != "9"){
		if((trim(objeto.value) == "1"  || trim(objeto.value) == ""  || trim(objeto.value) == "9" ) && num < maxi){
			alert("Solo debe ingresar 2.");
			objeto.focus();
			return false;
		}
	    else if(trim(objeto.value) == "" && num >= maxi) {
			alert("No ha ingresado todos los datos obligatorios.");
			objeto.focus();
			return false;
		  }
      }
	return true;
}

function valida_pase_vacio_ambulancia(nomObj, nomObjComp, valorPase1,valorPase2, numPreg, numPregComp, msj){
	
	if(document.getElementById(nomObjComp).value == valorPase1 || document.getElementById(nomObjComp).value == valorPase2 ){
		if(trim(document.getElementById(nomObj).value) == "1" || trim(document.getElementById(nomObj).value) == "" || trim(document.getElementById(nomObj).value) == "9"){
			if(msj) {
			document.getElementById(nomObj).focus();
			return false;}
		}
	}
	return true;
}


function enfocarControl_condic1(nomObj, nomObjCondic, nomObjNormal, valCondic, evt){
	if(evt.keyCode==13){
		if(document.getElementById(nomObj).value == valCondic || document.getElementById(nomObj).value == '9'){
			document.getElementById(nomObjCondic).focus();
		}else{
			document.getElementById(nomObjNormal).focus();
		}
		evt.returnValue = false;
	}
}

function valida_entero_de_a_msj_omision(valor, minim, maxim, msj,omision){
	if(trim(valor) == "") return true;
	if(!valida_entero_de_a1(valor, minim, maxim)){
		if(msj) alert("Dato incorrecto.");
		return false;
	}
	var x;
	x = parseInt(valor);
		
	//*** Omision ***//
	if(omision){
			var y;
			y = val_omision(maxim);
			if(x==y) return true;
	}
		
		
	if(x < minim || x > maxim){
		if(msj) alert("Dato incorrecto.");
		return false;
	}
	
	return true;
}

function valida_entero_de_a1(valor, minim, maxim){
	if(trim(valor) == "") return true;
		var x;
		x = parseInt(valor);
		if(x < minim || x > maxim){
			return false;
		}
	return true;
}

function valida_fecha2_opeCampoRH(valor, msj){
	
	if(trim(valor)=='') return true;
	expreg = /^[0-3][0-9]\/(([0][1-9])|([1][0-2]))\/[1-2][0-9]{3}$/;
	resul = expreg.test(valor);
	if(resul){
		cDia = valor.substring(0, 2);
		cDia = cDia.substring(0, 1) == "0" ? cDia.substring(1,2) : cDia;
		cMes = valor.substring(3, 5);
		cMes = cMes.substring(0, 1) == "0" ? cMes.substring(1,2) : cMes;
		nAnio = parseInt(valor.substring(6, 10));
		nDia = parseInt(cDia); nMes = parseInt(cMes);
		
		if(nAnio != 2013){
			
			if(msj) alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;
		}
		
		
		if( !(cMes >=5 && cMes <= 7) ){
			alert(13);
			if(msj) alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;				
		}		
		
		if(nMes == 0 || nMes > 12){
			resul = false;
		}else{
			if(nDia == 0 || nDia > 31){
				resul = false;
			}else{
			if(nMes == 1 || nMes == 3 || nMes == 5 || nMes == 7 || nMes == 8 || nMes == 10 || nMes == 12){

				}else{
					if(nMes == 2){
						if(nAnio%4 == 0){
							if(nDia > 29) resul = false;
						}else{
							if(nDia > 28) resul = false;
						}
					}else{
						if(nDia > 30) resul = false;
					}
				}
			}
		}
	}
	if(!resul && msj) alert("Valor de Fecha incorrecto.");
	
	if(!valida_fecha_encuentaRH(valor, true))
	{
		return false;
	}	
		
	return resul;
}


function valida_fecha_encuentaRH(fecha, msj)
{	
	var dfecha = fecha_desde_cadena(fecha);
	var fecini = fecha_desde_cadena("21/05/2013");
	var fecfin = fecha_desde_cadena("31/07/2013");
	if(dfecha < fecini || dfecha > fecfin)
	{	
		alert(14);
		if(msj) alert("Valor de Fecha fuera del rango de la encuesta.");
		return false;
	}
	return true;
}

function valida_fechaRH(objeto){
	valor = objeto.value;
	if(trim(valor)=='') return true;
	expreg = /^[0-3][0-9]\/(([0][1-9])|([1][0-2]))\/[1-2][0-9]{3}$/;
	resul = expreg.test(valor);
	if(!resul){
		alert("Valor de Fecha incorrecto.");
		return resul;
	}else{
		
		cDia = valor.substring(0, 2);
		cDia = cDia.substring(0, 1) == "0" ? cDia.substring(1,2) : cDia;
		cMes = valor.substring(3, 5);
		cMes = cMes.substring(0, 1) == "0" ? cMes.substring(1,2) : cMes;
		fecha = new Date( parseInt(valor.substring(6, 10)), 
						  parseInt(cMes) - 1, 
						  parseInt(cDia) );
		if(fecha.getFullYear() != 2013){
			alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;
		}
		
		if( !(fecha.getMonth() >= 4 && fecha.getMonth() <= 7) ){
			alert(15);
			alert("Valor de Fecha fuera del rango de la Encuesta.");
			return false;				
		}
		objeto.value = (fecha.getDate()>9 ? fecha.getDate() : "0" + fecha.getDate()) + "/" + 
					   (fecha.getMonth()+1>9 ? (fecha.getMonth()+1) : "0" + (fecha.getMonth()+1)) + "/" + 
					   fecha.getFullYear();
	}
	return resul;
}

function fecha_desde_fecha_corta_alfaRH(dia, mes_alfa, anio){
	if(trim(anio) == "") anio = "2013";
	if(trim(dia) == "") return "";
	if(trim(mes_alfa) == "") return "";
	mes_alfa = mes_alfa.toUpperCase();
	var meses = new Array();
	meses[0] = ""; meses[1] = "ENE"; meses[2] = "FEB"; meses[3] = "MAR";
	meses[4] = "ABR"; meses[5] = "MAY"; meses[6] = "JUN"; meses[7] = "JUL"; 
	meses[8] = "AGO"; meses[9] = "SET"; meses[10] = "OCT"; 	meses[11] = "NOV";
	meses[12] = "DIC";
	var mes = 0;
	var x = 0;
	for(x=0; x<=12; x++){
		if(mes_alfa == meses[x] || (mes_alfa == "SEP" && x == 9)){
			mes = x;
			break;
		}
	}

	if( mes == 0 ){
			alert("Mes Incorrecto verifique!"); 
			return false;				
		}
	
	var cmes = "";
	cmes = completa2(trim(mes.toString()), 2);
	return dia + "/" + cmes + "/" + anio;
}

function RangosR(text,mi,ma,r){
	if ( isNaN(text.value) || (text.value != "" &&  text.value !=r  && (text.value<mi || ma<text.value))) {
		alert ('Valores permitidos entre '+ mi +' y '+ ma +' - omisi�n('+ r +')!');
		text.focus();
		return false;
	}
}
//funciones Cuestionario FONE 
function valida_fecha_corta_opeCampoccuest(objeto){
	valor = objeto.value;
	
	if(trim(valor)=='') return true;
	if(valor.length==5) valor+= "/2013";
	expreg = /^[0-3][0-9]\/(([0][1-9])|([1][0-2]))\/[1-2][0-9]{3}$/;
	resul = expreg.test(valor);
	if(!resul){
		alert("Valor de Fecha incorrecto.");
		return resul;
	}else{
		
		cDia = valor.substring(0, 2);
		cDia = cDia.substring(0, 1) == "0" ? cDia.substring(1,2) : cDia;
		cMes = valor.substring(3, 5);
		cMes = cMes.substring(0, 1) == "0" ? cMes.substring(1,2) : cMes;
		fecha = new Date( parseInt(valor.substring(6, 10)), 
						  parseInt(cMes) - 1, 
						  parseInt(cDia) );		
		
		if(fecha.getFullYear() != 2013){
			alert("Valor de Fecha fuera del rango de la Encuesta."); 
			return false;
		}		
		if( !(fecha.getMonth() >= 4 && fecha.getMonth() <= 7) ){
			alert(16);
			alert("Valor de Fecha fuera del rango de la Encuesta."); 
			return false;				
		}
		objeto.value = (fecha.getDate()>9 ? fecha.getDate() : "0" + fecha.getDate()) + "/" + 
					   (fecha.getMonth()+1>9 ? (fecha.getMonth()+1) : "0" + (fecha.getMonth()+1));
	}
	
	if(!valida_fecha_encuentacc2011(objeto.value + "/2013", true))
	{
		return false;
	}	
	
	return resul;
}

function valida_fecha2_opeCampoccuest(valor, msj){	
	if(trim(valor)=='') return true;
	expreg = /^[0-3][0-9]\/(([0][1-9])|([1][0-2]))\/[1-2][0-9]{3}$/;
	resul = expreg.test(valor);
	if(resul){
		cDia = valor.substring(0, 2);
		cDia = cDia.substring(0, 1) == "0" ? cDia.substring(1,2) : cDia;
		cMes = valor.substring(3, 5);
		cMes = cMes.substring(0, 1) == "0" ? cMes.substring(1,2) : cMes;
		nAnio = parseInt(valor.substring(6, 10));
		nDia = parseInt(cDia); nMes = parseInt(cMes);
		
		if(nAnio != 2013){
			if(msj) alert("Valor de Fecha fuera del rango de la Encuesta."); 
			return false;
		}
		
	
		if(!(cMes >= 5 && cMes <= 7)){
			alert(17);
			if(msj) alert("Valor de Fecha fuera del rango de la Encuesta."); 
			return false;				
		}		
		
		if(nMes == 0 || nMes > 12){
			resul = false;
		}else{
			if(nDia == 0 || nDia > 31){
				resul = false;
			}else{
				if(nMes == 1 || nMes == 3 || nMes == 5 || nMes == 7 || nMes == 8 || nMes == 10 || nMes == 12){
				}else{
					if(nMes == 2){
						if(nAnio%4 == 0){
							if(nDia > 29) resul = false;
						}else{
							if(nDia > 28) resul = false;
						}
					}else{
						if(nDia > 30) resul = false;
					}
				}
			}
		}
	}
	if(!resul && msj) alert("Valor de Fecha incorrecto.");
	
	if(!valida_fecha_encuentacc2011(valor, true))
	{
		return false;
	}	
		
	return resul;
}

function valida_fecha_encuentacc2011(fecha, msj)
{
	var dfecha = fecha_desde_cadena(fecha);
	var fecini = fecha_desde_cadena("28/05/2013");
	var fecfin = fecha_desde_cadena("31/07/2013");

	if(dfecha < fecini || dfecha > fecfin)
	{	
		alert(18);
		if(msj) alert("Valor de Fecha fuera del rango de la encuesta."); 
		return false;
	}
	return true;
}

function valida_fecha2cuest(valor, msj){
	if(trim(valor)=='') return true;
	expreg = /^[0-3][0-9]\/(([0][1-9])|([1][0-2]))\/[1-2][0-9]{3}$/;
	resul = expreg.test(valor);
	if(resul){
		cDia = valor.substring(0, 2);
		cDia = cDia.substring(0, 1) == "0" ? cDia.substring(1,2) : cDia;
		cMes = valor.substring(3, 5);
		cMes = cMes.substring(0, 1) == "0" ? cMes.substring(1,2) : cMes;
		nAnio = parseInt(valor.substring(6, 10));
		nDia = parseInt(cDia); nMes = parseInt(cMes);
		
		if(nAnio != 2013){
			if(msj) alert("Valor de Fecha fuera del rango de la Encuesta."); 
			return false;
		}
		if( !(cMes >= 5 && cMes <= 7) ){
			alert(19);
			if(msj) alert("Valor de Fecha fuera del rango de la Encuesta."); 
			return false;				
		}		
		
		if(nMes == 0 || nMes > 12){
			resul = false;
		}else{
			if(nDia == 0 || nDia > 31){
				resul = false;
			}else{
				if(nMes == 1 || nMes == 3 || nMes == 5 || nMes == 7 || nMes == 8 || nMes == 10 || nMes == 12){
				}else{
					if(nMes == 2){
						if(nAnio%4 == 0){
							if(nDia > 29) resul = false;
						}else{
							if(nDia > 28) resul = false;
						}
					}else{
						if(nDia > 30) resul = false;
					}
				}
			}
		}
	}
	if(!resul && msj) alert("Valor de Fecha incorrecto.");
	return resul;
}

function val_diferencia_mes_anio_6_meses_cuest(mes_alfa1, anioCorto1, mes_alfa2, anioCorto2, cnumMesEntrev, msj){
	var numMesEntrev = parseInt(cnumMesEntrev);
	
	if(isNaN(numMesEntrev)) numMesEntrev = 0;
	if(trim(mes_alfa1)=="" || trim(anioCorto1)=="" || trim(mes_alfa2)=="" || trim(anioCorto2)=="") return true;
	mes_alfa1 = mes_alfa1.toUpperCase();
	mes_alfa2 = mes_alfa2.toUpperCase();
	
	if((mes_alfa1 == "NOV" && anioCorto1 == "11" && mes_alfa2 == "ABR" && anioCorto2 == "12") || 
		(mes_alfa1 == "DIC" && anioCorto1 == "11" && mes_alfa2 == "MAY" && anioCorto2 == "12") ||
		(mes_alfa1 == "ENE" && anioCorto1 == "12" && mes_alfa2 == "JUN" && anioCorto2 == "12") )
	{
		switch(numMesEntrev)
		{ 
		   case 5:
				
				if( ( (mes_alfa1 == "NOV" && mes_alfa2 != "ABR") || (mes_alfa1 != "NOV" && mes_alfa2 == "ABR") ) || 
				  anioCorto1 != "11" || anioCorto2 != "12") 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}
				
				if( ( (mes_alfa1 == "DIC" && mes_alfa2 == "MAY") || (mes_alfa1 == "NOV" && mes_alfa2 != "ABR") ) || 
				  anioCorto1 != "11" || anioCorto2 != "12") 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}
										
				
				break;
			case 6:
				
				if( ( (mes_alfa1 == "DIC" && mes_alfa2 != "MAY") || (mes_alfa1 != "DIC" && mes_alfa2 == "MAY") ||
				 (mes_alfa1 == "DIC" && mes_alfa2 == "ABR") ) || 
				  anioCorto1 != "11" || anioCorto2 != "12") 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}		
				
				if( ( (mes_alfa1 == "NOV" && mes_alfa2 == "ABR") || (mes_alfa1 == "DIC" && mes_alfa2 != "MAY") ) || 
				  anioCorto1 != "11" || anioCorto2 != "12") 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}
				
				break;		
			
			case 7:
				
				if( ( (mes_alfa1 == "ENE" && mes_alfa2 != "JUN") || (mes_alfa1 != "ENE" && mes_alfa2 == "JUN") ||
				 (mes_alfa1 == "ENE" && mes_alfa2 == "MAY") ) || 
				  anioCorto1 == "11" || anioCorto2 != "12") 
				{
					if(msj) alert("Rango ingresado incorrecto."); 
					return false;	
				}								
				
				break;			
								
			default:
				if(msj) alert("Rango ingresado incorrecto.");  
				return false;
		}		
	}
	else
	{
		if(msj) alert("Rango ingresado incorrecto.");  
		return false;
	}
	
	return true;
}

function valida_anio_corto_alfa_3_meses_cuest(valor, msj){
	if(trim(valor)=="") return true;
	if(valor.length > 2) return true;
	var correcto = true;
	if(valor.substring(0, 1) == "0" && valor.length == 2) valor = valor.substring(1, valor.length);
	if(!isNaN(parseInt(valor))){
		
		if( !(parseInt(valor) >= 11 && parseInt(valor) <= 12) ) correcto = false;
	}else{
		correcto = false;
	}
	if(correcto == false){
		if(msj) alert("A�o ingresado incorrecto.")	
		return false;
	}
	return true;
}


function valida_anio_corto_alfa_3_meses(valor, msj){
	if(trim(valor)=="") return true;
	if(valor.length > 2) return true;
	var correcto = true;
	if(valor.substring(0, 1) == "0" && valor.length == 2) valor = valor.substring(1, valor.length);
	if(!isNaN(parseInt(valor))){
		
		if(parseInt(valor) != 12) correcto = false;
	}else{
		correcto = false;
	}
	if(correcto == false){
		if(msj) alert("A�o ingresado incorrecto.")	
		return false;
	}
	return true;
}

//acepta solo 1
function Solo1(evt){
var key = nav4 ? evt.which : evt.keyCode;
return (key <= 13 || key == 49 );
}

//valida que el control este vacio
function valida_si_vacio(objeto){
	if(trim(objeto.value) != ''){
		alert("Verifique, esta informaci�n no corresponde!!!");
		objeto.focus();
		return false;
	}
	return true;
}

function RangosMes(text){	
if ( isNaN(text.value) && !(text.value.toUpperCase()=="JUL" || text.value.toUpperCase()=="AGO") ) {
alert ('Mes incorrecto, verificar!');
text.focus();
return false;
 }
}

function valNum_palabra(val,palabra){

	
	obj = document.getElementById(val);
	if (isNaN(obj.value)){
		if ( obj.value.toUpperCase() !=palabra && palabra != '999999') {
			alert ('Dato Incorrecto, solo puede ingresar ' + palabra);
			obj.focus();
			return false;
		}
	}else{ 
		if (obj.value != "" && parseInt(obj.value)!= 999999  && (obj.value<1 || 999999<obj.value)) { 
			alert ('Valores permitidos entre 1 y 20 -- omisi�n(999999)!');
			obj.focus();
			return false;
		}else{
			
			return true;
		}
	}
	return true;
}

function valNumPalabra(val,palabra,inicio,fin,omision){	
	obj = document.getElementById(val);
	if (isNaN(obj.value)){
		if ( obj.value.toUpperCase() !=palabra && palabra != omision) {
			alert ('Dato Incorrecto, solo puede ingresar ' + palabra);
			obj.focus();
			return false;
		}
	}else{ 
		if (obj.value != "" && parseInt(obj.value)!= omision  && (obj.value<inicio || fin<obj.value)) { 
			alert ('Valores permitidos entre ' + inicio +' y ' + fin +'-- omisi�n('+omision+')!');
			obj.focus();
			return false;
		}else{			
			return true;
		}
	}
	return true;
}

function validarTamanioText(obj, maxlenght){
	if(obj.value.length > maxlenght){
		alert('Ha superado el tama�o m�ximo permitido (' + maxlenght + ')'); 
		obj.focus();
		return false;
	}
	return true;
}



